/**
 *  @file: SleepTask.h
 *  @author: nwz
 *  @brief: 
 *  @date: 2024年8月5日
 * 
 */

#pragma once
#include <all_header.h>
namespace task {

/*
 *
 */
class SleepTask {
public:
	SleepTask(bsp::BKPSRam bkram);
	virtual ~SleepTask();

	static void run(SleepTask* task){
		task->init();
		task->run_();
	}


	void run_();

	void enterSleep();
	static void CheckOk(bsp::BKPSRam ram);
private:
	int init();
	SemaphoreHandle_t sem;
	bsp::BKPSRam &bkram;
};

} /* namespace task */
